package com.effectiv.crm.domain;

import java.io.Serializable;


import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;


import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
@Document(collection = "LEAD")
public class Lead extends AbstractDocument implements Serializable {

	private static final long serialVersionUID = 1L;

	
	private PickListEntry salutation;	
	private String firstName;	
	@NotEmpty
	private String lastName;
	
	private String company;
	@DBRef
	private PickListEntry industry;
	private Long annualRevenue;
	
	private String campaign;
	
	@DBRef
	private PickListEntry source;
	@DBRef
	private PickListEntry status;
	@DBRef
	private PickListEntry rating;
	
	private boolean converted;
	private String designation;
	
	private String description;
	private String priority;
	
	private String demoRequest;
	private String partnerContact;
	private String productVersion;
	private String product;
	private String mailDate;
	private String nextStepDate;
	private String fundingSituation;
	private String purpose;
	private String evaluationStatus;
	private String transferDate;
	private String revenueType;
	
	
	private String title;
	
	private String fax;
	private String phone;
	private String mobile;
	
	@Email
	private String email;
	
	@Email
	private String secondaryEmail;
	private String website;

	
	private int noOfEmployees;
	
	private User assignedUser;
	private Team assignedTeam;

	private Address address;

}
